package cn.getech.data.development.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author hujz
 * @since 2020-02-19
 */
@Data
@Accessors(chain = true)
@TableName("bdp_table_field_mask_rules")
public class TableFieldMaskRules implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * 编号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 表的id
     */
    private Integer tableId;

    /**
     * 表的字段id
     */
    private Integer tableFieldId;

    /**
     * 脱敏方式: 1：MASK（用x屏蔽所有字母字符，用n屏蔽所有数字字符。） 2：MASK_SHOW_LAST_4（仅显示最后四个字符,其他用x代替。） 3：MASK_SHOW_FIRST_4（仅显示前四个字符,其他用x代替。） 4：MASK_HASH（用值的哈希值替换原值。） 5：MASK_NULL（用NULL值替换原值。） 6：MASK_NONE（原样显示） 7：MASK_DATE_SHOW_YEAR（仅显示日期字符串的年份部分，并将月份和日期默认为01/01。） 8：CUSTOM（可使用任何有效Hive UDF(返回与被屏蔽的列中的数据类型相同的数据类型)来自定义策略。）
     */
    private Integer maskType;

    /**
     * 脱敏方式对应的json配置
     */
    private String maskValue;


}
